home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_100 / 194_01 / crypt0.c < prev    next >
Text File  |  1985-11-13  |  1KB  |  47 lines

  1. /* [CRYPT0.C of JUGPDS Vo.17]
  2. *********x********************************************************
  3. *                                *
  4. *    Written by  Hakuo Katayose (JUG-CP/M No.179)        *
  5. *            49-114 Kawauchi-Sanjuunin-machi        *
  6. *            Sendai, Miyagi 980                          *
  7. *            Phone: 0222-61-3219                *
  8. *                                *
  9. *    Edited & tested by Y. Monma (JUG-C/M Disk Editor)       * 
  10. *                                *
  11. *****************************************************************
  12. */
  13.  
  14. /* crypt - encryt and decrypt */
  15.  
  16. #include "stdio.h"
  17. #include <dio.h>
  18.  
  19. #define    MAXKEY    32
  20.  
  21. main(argc, argv)
  22. int    argc;
  23. char *argv[];
  24.  
  25. {
  26.     int    i, keylen, c;
  27.     char    key[MAXKEY];
  28.  
  29.  
  30.     dioinit(&argc, argv);
  31.     if (argc < 2) {
  32.         error("Usage: crypt0 key <infile >outfile");
  33.         exit();
  34.         }
  35.     strcpy(key, argv[1]);
  36.     if ((keylen = strlen(key)) <= 0) {
  37.         error("Usage: crypt0 key");
  38.         exit();
  39.         }
  40.     for (i = 1; (c=getchar()) != EOF && c != CPMEOF; i= i%keylen + 1)
  41.         if ((c ^ key[i]) == CPMEOF)
  42.             putchar((c ^ key[i]) ^ key[i]);
  43.         else
  44.             putchar(c ^ key[i]);
  45.     dioflush();
  46. }
  47.